import axios from 'axios'
// import store from '@/store/stores/index.js'

const request = axios.create({
  baseURL: import.meta.env.VITE_API_BASE_URL || '/',
})
request.interceptors.request.use(
  (config) => {
    // 请求发送出去之前，对 config 做一些额外处理。
    // 1. 一般在这儿会往 config.headers 身上添加一个 token 属性
    // 最后不要忘了将 config return 出去
    // config.headers.Token = store.getters.gettoken;
    return config
  },
  (error) => {
    return Promise.reject(error)
  },
)
request.interceptors.response.use(
  (response) => {
    // 进入then里面之前，可以对 response 响应对象做一些额外处理。

    // 最后不要忘了 return 东西出去
    if (response.data.code !== '200') {
      alert(response.data.message || '网络异常，请稍后重试！')
      // 不希望代码走到 .then 直接抛出异常
      throw new Error(response.data.message || '网络异常，请稍后重试！')
    }
    return response.data
  },
  (error) => {
    return Promise.reject(error)
  },
)
export default request
